package com.xm.queue;

import java.util.ArrayDeque;
import java.util.Deque;

/**
 * 双端队列
 *   特点：支持在队列两端插入和删除元素。
 *   适用场景：滑动窗口算法、实现栈和队列。
 */
public class TestDeque04 {
    public static void main(String[] args) {
        Deque<String> deque = new ArrayDeque<String>();
        //用作队列（FIFO）
        deque.offerLast("A");
        deque.offerLast("B");
        System.out.println(deque.pollFirst());

        //用作栈
        deque.push("C");
        deque.push("D");
        System.out.println(deque.pop());

        //双端操作
        deque.offerFirst("E");
        deque.offerLast("F");
        System.out.println(deque.pollFirst());
    }
}
